lr16 2.2.0
Loading...
Searching...
No Matches
lr16.h File Reference

This file contains API for LR 16 Click Driver. More...

#include "drv_digital_out.h"
#include "drv_digital_in.h"
#include "drv_uart.h"

Go to the source code of this file.

Data Structures

struct  lr16_t
 LR 16 Click context object. More...
struct  lr16_cfg_t
 LR 16 Click configuration object. More...

Macros

#define LR16_CMD_AT   "AT"
 LR 16 control commands.
#define LR16_CMD_RESET   "ATZ"
#define LR16_CMD_GET_LOCAL_TIME   "AT+LTIME"
#define LR16_CMD_GET_BATTERY_LEVEL   "AT+BAT"
#define LR16_CMD_SLEEP   "AT+SLEEP"
#define LR16_CMD_GET_SERIAL_NUMBER   "AT+SN"
#define LR16_CMD_GET_FW_VERSION   "AT+FWVER"
#define LR16_CMD_SET_OPERATING_MODE_USER   "AT+MODEUS"
#define LR16_CMD_SET_OPERATING_MODE_RUNTIME   "AT+MODERS"
#define LR16_CMD_FACTORY_RESET   "AT+RUS"
#define LR16_CMD_STORE_FLASH_CONTEXT   "AT+CS"
#define LR16_CMD_ERASE_FLASH_CONTEXT   "AT+RFS"
#define LR16_CMD_APPLICATION_ID   "AT+APPEUI"
#define LR16_CMD_APPLICATION_KEY   "AT+APPKEY"
#define LR16_CMD_APPLICATION_SESSION_KEY   "AT+APPSKEY"
#define LR16_CMD_NETWORK_SESSION_KEY   "AT+NWKSKEY"
#define LR16_CMD_DEVICE_ADDRESS   "AT+DADDR"
#define LR16_CMD_DEVICE_ID   "AT+DEUI"
#define LR16_CMD_NETWORK_ID   "AT+NWKID"
#define LR16_CMD_GET_LINK_LAYER_VERSION   "AT+LLVER"
#define LR16_CMD_GET_REG_PARAM_VERSION   "AT+RPVER"
#define LR16_CMD_ADAPTIVE_DATA_RATE   "AT+ADR"
#define LR16_CMD_TX_DATA_RATE   "AT+DR"
#define LR16_CMD_DUTY_CYCLE_RESTRICTION   "AT+DCS"
#define LR16_CMD_JOIN_1_DELAY   "AT+JN1DL"
#define LR16_CMD_JOIN_2_DELAY   "AT+JN2DL"
#define LR16_CMD_RX_1_DELAY   "AT+RX1DL"
#define LR16_CMD_RX_2_DELAY   "AT+RX2DL"
#define LR16_CMD_RX_2_DATA_RATE   "AT+RX2DR"
#define LR16_CMD_RX_2_FREQUENCY   "AT+RX2FQ"
#define LR16_CMD_TX_POWER   "AT+TXP"
#define LR16_CMD_PING_SLOT   "AT+PGSLOT"
#define LR16_CMD_JOIN   "AT+JOIN"
#define LR16_CMD_LINK_CHECK   "AT+LINKC"
#define LR16_CMD_SEND   "AT+SEND"
#define LR16_CMD_CLASS   "AT+CLASS"
#define LR16_CMD_START_CERTIFICATION_MODE   "AT+CERTIF"
#define LR16_CMD_START_RF_TONE_TEST   "AT+TTONE"
#define LR16_CMD_START_RF_RSSI_TONE_TEST   "AT+TRSSI"
#define LR16_CMD_TEST_CONFIGURATION   "AT+TCONF"
#define LR16_CMD_START_RF_TX_TEST   "AT+TTX"
#define LR16_CMD_START_RF_RX_TEST   "AT+TRX"
#define LR16_CMD_START_RF_TX_HOOPING_TEST   "AT+TTH"
#define LR16_CMD_STOP_RF_TONE_TEST   "AT+TOFF"
#define LR16_CMD_P2P_UNICAST_TX   "AT+P2PUNICASTTX"
#define LR16_CMD_P2P_UNICAST_EX_TX   "AT+P2PUNICASTEXTX"
#define LR16_CMD_P2P_MULTICAST_TX   "AT+P2PMULTICASTTX"
#define LR16_CMD_P2P_MULTICAST_EX_TX   "AT+P2PMULTICASTEXTX"
#define LR16_CMD_P2P_BROADCAST_TX   "AT+P2PBROADCASTTX"
#define LR16_CMD_P2P_RX   "AT+P2PRX"
#define LR16_CMD_P2P_GPIO_REMOTE_CFG_SET   "AT+P2PGPIORCFGSET"
#define LR16_CMD_P2P_GPIO_REMOTE_CFG_GET   "AT+P2PGPIORCFGGET"
#define LR16_CMD_P2P_GPIO_REMOTE_VALUE_SET   "AT+P2PGPIORVALUESET"
#define LR16_CMD_P2P_GPIO_REMOTE_VALUE_GET   "AT+P2PGPIORVALUEGET"
#define LR16_CMD_P2P_ROLE_USER   "AT+P2PROLEUS"
#define LR16_CMD_P2P_ROLE_RUNTIME   "AT+P2PROLERS"
#define LR16_CMD_P2P_DC_TRACKER_USER   "AT+P2PDCTRACKERUS"
#define LR16_CMD_P2P_DC_TRACKER_RUNTIME   "AT+P2PDCTRACKERRS"
#define LR16_CMD_P2P_DC_ENFORCE_USER   "AT+P2PDCENFORCEUS"
#define LR16_CMD_P2P_DC_ENFORCE_RUNTIME   "AT+P2PDCENFORCERS"
#define LR16_CMD_P2P_RF_PROFILE_USER   "AT+P2PRFPROFILEUS"
#define LR16_CMD_P2P_RF_PROFILE_RUNTIME   "AT+P2PRFPROFILERS"
#define LR16_CMD_P2P_TX_POWER_USER   "AT+P2PTXPOWERUS"
#define LR16_CMD_P2P_TX_POWER_RUNTIME   "AT+P2PTXPOWERRS"
#define LR16_CMD_P2P_RF_CHANNEL_USER   "AT+P2PRFCHANNELUS"
#define LR16_CMD_P2P_RF_CHANNEL_RUNTIME   "AT+P2PRFCHANNELRS"
#define LR16_CMD_P2P_LBT_USER   "AT+P2PLBTUS"
#define LR16_CMD_P2P_LBT_RUNTIME   "AT+P2PLBTRS"
#define LR16_CMD_P2P_MAC_SRC_ADDR_USER   "AT+P2PMACSRCADDRUS"
#define LR16_CMD_P2P_MAC_SRC_ADDR_RUNTIME   "AT+P2PMACSRCADDRRS"
#define LR16_CMD_P2P_MAC_DEST_ADDR_USER   "AT+P2PMACDESTADDRUS"
#define LR16_CMD_P2P_MAC_DEST_ADDR_RUNTIME   "AT+P2PMACDESTADDRRS"
#define LR16_CMD_P2P_MAC_GRP_ID_USER   "AT+P2PMACGRPIDUS"
#define LR16_CMD_P2P_MAC_GRP_ID_RUNTIME   "AT+P2PMACGRPIDRS"
#define LR16_CMD_P2P_MAC_ENC_MODE_USER   "AT+P2PMACENCMODEUS"
#define LR16_CMD_P2P_MAC_ENC_MODE_RUNTIME   "AT+P2PMACENCMODERS"
#define LR16_CMD_P2P_MAC_ENC_KEY_USER   "AT+P2PMACENCKEYUS"
#define LR16_CMD_P2P_MAC_ENC_KEY_RUNTIME   "AT+P2PMACENCKEYRS"
#define LR16_CMD_P2P_MAC_TTL_USER   "AT+P2PMACTTLUS"
#define LR16_CMD_P2P_MAC_TTL_RUNTIME   "AT+P2PMACTTLRS"
#define LR16_CMD_P2P_MAC_ACK_USER   "AT+P2PMACACKUS"
#define LR16_CMD_P2P_MAC_ACK_RUNTIME   "AT+P2PMACACKRS"
#define LR16_CMD_P2P_RP_THRESH_USER   "AT+P2PRPTHRESHUS"
#define LR16_CMD_P2P_RP_THRESH_RUNTIME   "AT+P2PRPTHRESHRS"
#define LR16_CMD_P2P_RP_NUM_SLOTS_USER   "AT+P2PRPNUMSLOTSUS"
#define LR16_CMD_P2P_RP_NUM_SLOTS_RUNTIME   "AT+P2PRPNUMSLOTSRS"
#define LR16_CMD_P2P_CMD_RESP_TIMEOUT_USER   "AT+P2PCMDRESPTIMEOUTUS"
#define LR16_CMD_P2P_CMD_RESP_TIMEOUT_RUNTIME   "AT+P2PCMDRESPTIMEOUTRS"
#define LR16_CMD_P2P_GPIO_REMOTE_BLOCK_CFG_USER   "AT+P2PGPIORBLOCKCFGUS"
#define LR16_CMD_P2P_GPIO_REMOTE_BLOCK_CFG_RUNTIME   "AT+P2PGPIORBLOCKCFGRS"
#define LR16_RSP_OK   "OK"
 LR 16 device response for AT commands.
#define LR16_RSP_ERROR   "AT_ERROR"
#define LR16_RSP_PARAM_ERROR   "AT_PARAM_ERROR"
#define LR16_RSP_BUSY_ERROR   "AT_BUSY_ERROR"
#define LR16_RSP_TEST_PARAM_OVERFLOW   "AT_TEST_PARAM_OVERFLOW"
#define LR16_RSP_NO_NETWORK_JOINED   "AT_NO_NETWORK_JOINED"
#define LR16_RSP_RX_ERROR   "AT_RX_ERROR"
#define LR16_RSP_DUTYCYCLE_RESTRICTED   "AT_DUTYCYCLE_RESTRICTED"
#define LR16_RSP_CRYPTO_ERROR   "AT_CRYPTO_ERROR"
#define LR16_RSP_INVALID_MODE   "AT_INVALID_MODE"
#define LR16_RSP_INVALID_ROLE   "AT_INVALID_ROLE"
#define LR16_EVT_READY   "+SYSNOTF:READY"
 LR 16 device events settings.
#define LR16_EVT_CONTEXT_STORAGE   "+CS:"
#define LR16_EVT_JOIN   "+JOIN:"
#define LR16_EVT_DATA_RECEIVED   "+RXDATA:"
#define LR16_EVT_RECEIVE_INFO   "+RXINFO:"
#define LR16_EVT_UPLINK_CONFIG   "+TXCONF"
#define LR16_EVT_CLASS_SWITCH   "+CLASSUPDATE:"
#define LR16_EVT_BEACON_INFO   "+BEACONINFO:"
#define LR16_EVT_BEACON_LOST   "+BEACONLOST"
#define LR16_EVT_BEACON_NOT_RECEIVED   "+BEACONNOTRECEIVED"
#define LR16_EVT_P2P_TX_CONF   "+P2PTXCONF:"
#define LR16_EVT_P2P_TX_RESP   "+P2PTXRESP:"
#define LR16_EVT_P2P_TX_TIME   "+P2PTXTIME:"
#define LR16_EVT_P2P_RX_DATA   "+P2PRXDATA:"
#define LR16_EVT_P2P_GPIO_REMOTE_CFG_SET   "+P2PGPIORCFGSET:"
#define LR16_EVT_P2P_GPIO_REMOTE_CFG_GET   "+P2PGPIORCFGGET:"
#define LR16_EVT_P2P_GPIO_REMOTE_VALUE_SET   "+P2PGPIORVALUESET:"
#define LR16_EVT_P2P_GPIO_REMOTE_VALUE_GET   "+P2PGPIORVALUEGET:"
#define LR16_EVT_P2P_GPIO_REMOTE_CFG_CHANGED   "+P2PGPIORCFGCHANGED:"
#define LR16_EVT_P2P_GPIO_REMOTE_VALUE_CHANGED   "+P2PGPIORVALUECHANGED:"
#define LR16_TX_DRV_BUFFER_SIZE   200
 LR 16 driver buffer size.
#define LR16_RX_DRV_BUFFER_SIZE   600
#define LR16_MAP_MIKROBUS(cfg, mikrobus)
 MikroBUS pin mapping.

Enumerations

enum  lr16_return_value_t { LR16_OK = 0 , LR16_ERROR = -1 , LR16_ERROR_TIMEOUT = -2 , LR16_ERROR_CMD = -3 }
 LR 16 Click return value data. More...

Functions

void lr16_cfg_setup (lr16_cfg_t *cfg)
 LR 16 configuration object setup function.
err_t lr16_init (lr16_t *ctx, lr16_cfg_t *cfg)
 LR 16 initialization function.
err_t lr16_generic_write (lr16_t *ctx, uint8_t *data_in, uint16_t len)
 LR 16 data writing function.
err_t lr16_generic_read (lr16_t *ctx, uint8_t *data_out, uint16_t len)
 LR 16 data reading function.
void lr16_set_wup_pin (lr16_t *ctx, uint8_t state)
 LR 16 set WUP pin function.
void lr16_set_rst_pin (lr16_t *ctx, uint8_t state)
 LR 16 set RST pin function.
void lr16_reset_device (lr16_t *ctx)
 LR 16 reset device function.
void lr16_cmd_run (lr16_t *ctx, uint8_t *cmd)
 LR 16 cmd run function.
void lr16_cmd_set (lr16_t *ctx, uint8_t *cmd, uint8_t *value)
 LR 16 cmd set function.
void lr16_cmd_get (lr16_t *ctx, uint8_t *cmd)
 LR 16 cmd get function.
void lr16_cmd_help (lr16_t *ctx, uint8_t *cmd)
 LR 16 cmd help function.

Detailed Description

This file contains API for LR 16 Click Driver.

Enumeration Type Documentation

◆ lr16_return_value_t

LR 16 Click return value data.

Predefined enum values for driver return values.

Enumerator
LR16_OK 
LR16_ERROR 
LR16_ERROR_TIMEOUT 
LR16_ERROR_CMD